package fr.vvins.core.biz.catalog;

import java.util.List;
import java.util.Set;

import fr.vvins.core.biz.catalog.dto.VigneronDto;
import fr.vvins.core.biz.catalog.dto.VigneronDtoInfo;
import fr.vvins.core.biz.catalog.dto.VinDto;
import fr.vvins.core.biz.catalog.dto.VinDtoInfo;
import fr.vvins.core.common.TechnicalException;
import fr.vvins.core.common.dto.BeanDtoInfo;

public interface CatalogManager {

	public VigneronDto getVigneron(int vigneronId) throws CatalogException, TechnicalException ;
	
	public VigneronDto getVigneronByKey(String key) throws CatalogException, TechnicalException;
	
	public VigneronDto getVigneronByContent(int contentId) throws CatalogException, TechnicalException;

	public Set<VinDtoInfo> getVinsVigneron(int vigneronId) throws CatalogException, TechnicalException ;
	
	public Set<VinDtoInfo> getVinsVigneronByKey(String key) throws CatalogException, TechnicalException;
	
	public Set<VinDtoInfo> getVinsVigneronByContent(int contentId) throws CatalogException, TechnicalException;
	
	public List<VigneronDtoInfo> getVignerons() throws CatalogException, TechnicalException;

	public VinDto getVin(int vinId) throws CatalogException, TechnicalException;
	
	public VinDto getVinByKey(String key) throws CatalogException, TechnicalException;
	
	public VinDto getVinByContent(int contentId) throws CatalogException, TechnicalException;

	public List<BeanDtoInfo> getList(int listId) throws CatalogException, TechnicalException;

	public List<BeanDtoInfo> getListByKey(String key) throws CatalogException, TechnicalException;

	public BeanDtoInfo getContent(int contentId) throws CatalogException, TechnicalException;

	public BeanDtoInfo getContentByKey(String contentId) throws CatalogException, TechnicalException;
	
}
